Extracción de Datos (Web Scraping) ⛏️

El primer desafío fue obtener los datos sísmicos de una fuente confiable. La mejor opción es el Centro Sismológico Nacional (CSN) de la Universidad de Chile (sismologia.cl). El objetivo era crear un script en Python que pudiera "leer" la tabla de "Últimos Sismos" de su página principal de forma automática.

Herramientas Utilizadas

Proceso de Scraping

Código Final de Scraping

Python

import requests
from bs4 import BeautifulSoup
import pandas as pd

def obtener_ultimo_sismo_df():
    url = 'https://sismologia.cl'
    try:
        response = requests.get(url)
        response.raise_for_status()
    except requests.exceptions.RequestException:
        return None

    soup = BeautifulSoup(response.text, 'html.parser')
    tabla_sismos = soup.find('table', class_='sismologia')
    if not tabla_sismos: return None

    primera_fila = tabla_sismos.find_all('tr')[1]
    if not primera_fila: return None

    celdas = primera_fila.find_all('td')
    fecha_lugar = celdas[0].get_text(separator='|', strip=True)
    profundidad = celdas[1].get_text(strip=True)
    magnitud = celdas[2].get_text(strip=True)

    df = pd.DataFrame([[fecha_lugar, profundidad, magnitud]], columns=['Fecha Local / Lugar', 'Profundidad', 'Magnitud'])
    df[['Fecha Local', 'Lugar']] = df['Fecha Local / Lugar'].str.split('|', n=1, expand=True)
    return df[['Fecha Local', 'Lugar', 'Profundidad', 'Magnitud']]